1. Field of the Invention
The present invention relates to an improved data processing system and, in particular, to a method and apparatus for information processing associated with graphical user interfaces. Still more particularly, the present invention relates to playback of previously recorded user events within a graphical user interface.
2. Description of Related Art
There are many scenarios in which a user must repeat a task within a software application. Before the availability of graphical user interfaces, a software application would be controlled through a command line interface. In order to quickly repeat tasks in such applications, batch files containing data and many commands would be used to provide repetitious input through the command line interface. After graphical user interfaces became widespread, utilities were created to generate so-called user macros in which a user could store a sequence of user interface events for subsequent playback. For example, a user may need to perform a common set of photo editing operations on many digital images within a photo editing application. Each operation may require the selection of a menu item followed by the selection of options and the specification of parameters within a dialog window, including the name of a file that contains a digital image on which the photo editing operation is to be performed. Recorder utilities allow a user to capture the events within the application's graphical user interface that are required to initiate and complete the photo editing operation that is desired by the user.
With the development of the World Wide Web, recorder utilities have been created for automating repeatable sequences of user activities within a web browser. These utilities facilitate the replay of regular user activities on the Internet, such as periodically checking a web-based mail service or downloading information from a web site. A typical web-based macro recorder utility operates in conjunction with a web browser to record user events within the graphical user interface that is presented by the web browser, including selection of hyperlinks within web pages. Since the events are recorded with respect to the web browser application, the user can automate activities that span multiple web sites. This type of macro recorder utility allows a user to create, view, edit, and replay the recorded macros.
Several problems arise, however, in the playback of user-recorded, web-browser-based macros. Recordation and playback of HTTP transactions is challenging because of the dynamic nature of web sites that have become more sophisticated in the manner in which they provide web-based content and services. Technologies that are employed by web sites may include dynamic session identifiers, dynamic cookies, URLs (Uniform Resource Locators) that are dynamically produced by client-side scripting mechanisms, such as JavaScript, ECMAScript, and VBScript, and many other dynamic web-related technologies. For example, a web-browser-based macro recorder might record a URL comprising dynamic information, and playback of the recorded information produces an error because the dynamic information that was generated during the user's previous session is no longer valid during the user's current session.
Therefore, it would be advantageous to have a web-browser-based, user-event macro recordation and playback technology that recognizes these potential problems by capturing and using dynamic information that allows for the generation of correct web service requests upon playback.